clean up gpx reader fix element handling. Note that the fix element values are requi...
authortsteven4 <tsteven4@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Sun, 12 Oct 2014 17:33:23 +0000 (17:33 +0000)
committertsteven4 <tsteven4@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Sun, 12 Oct 2014 17:33:23 +0000 (17:33 +0000)
gpsbabel/gpx.cc
gpsbabel/testo.d/gpx.test
gpsbabel/testo.d/gtm.test

index c2d2331a1e5f341d0263415a883ba3b0543ff25f..8e436ccf5f09b7ffcd8527b623fee20733a783d2 100644 (file)
@@ -1118,24 +1118,21 @@ gpx_end(const QString& el)
   case tt_wpttype_sat:
     wpt_tmp->sat = cdatastr.toDouble();
     break;
-  case tt_wpttype_fix: {
-    // FIXME: this code seems to rely on atoi() parsing 3d and 2d as 3 and 2
-    // which toInt() doesn't do.
-    //wpt_tmp->fix = (fix_type)(cdatastr.toInt() - 1);
-    wpt_tmp->fix = (fix_type)(atoi(CSTR(cdatastr)) - 1);
-  }
-  if (wpt_tmp->fix < fix_2d) {
-    if ((cdatastr.compare("none", Qt::CaseInsensitive)) == 0) {
+  case tt_wpttype_fix:
+    if (cdatastr == QLatin1String("none")) {
       wpt_tmp->fix = fix_none;
-    } else if ((cdatastr.compare("dgps", Qt::CaseInsensitive)) == 0) {
+    } else if (cdatastr == QLatin1String("2d")) {
+      wpt_tmp->fix = fix_2d;
+    } else if (cdatastr == QLatin1String("3d")) {
+      wpt_tmp->fix = fix_3d;
+    } else if (cdatastr == QLatin1String("dgps")) {
       wpt_tmp->fix = fix_dgps;
-    } else if ((cdatastr.compare("pps", Qt::CaseInsensitive)) == 0) {
+    } else if (cdatastr == QLatin1String("pps")) {
       wpt_tmp->fix = fix_pps;
     } else {
       wpt_tmp->fix = fix_unknown;
     }
-  }
-  break;
+    break;
   case tt_wpttype_url:
     link_->url_ = cdatastr;
     break;
@@ -1905,7 +1902,6 @@ gpx_exit(void)
     gpx_version = NULL;
   }
 
-  /* FIXME: is clear necessary or desirable? */
   gpx_namespace_attribute.clear();
 
   if (gpx_global) {
index 9624467501fa8095ea0da5b32903404d973f5939..c9174de7f00639a593c9e337ee8a61741296cd7f 100644 (file)
@@ -1,10 +1,10 @@
 
 # GPX
-rm -f ${TMPDIR}/gl.gpx ${TMPDIR}/gpx.gpx
+rm -f ${TMPDIR}/gl.gpx ${TMPDIR}/gpx.wpt
 gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o gpsman -F ${TMPDIR}/gm.gm -o gpsutil -F ${TMPDIR}/gu.wpt
 gpsbabel -i geo -f ${REFERENCE}/../geocaching.loc -o gpx -F ${TMPDIR}/gl.gpx
-gpsbabel -i gpx -f ${TMPDIR}/gl.gpx -o gpsutil -F ${TMPDIR}/gpx.gpx
-compare ${TMPDIR}/gpx.gpx ${TMPDIR}/gu.wpt
+gpsbabel -i gpx -f ${TMPDIR}/gl.gpx -o gpsutil -F ${TMPDIR}/gpx.wpt
+compare ${TMPDIR}/gpx.wpt ${TMPDIR}/gu.wpt
 
 rm -f ${TMPDIR}/gtrnctr_power.gpx
 gpsbabel -i gtrnctr -f ${REFERENCE}/track/gtrnctr_power.tcx -o gpx,garminextensions=1 -F ${TMPDIR}/gtrnctr_power.gpx
index b85500885f5490afb51d26d866ed84b60afa5784..6289c6c360825444ace76c76810caa62f92b8872 100644 (file)
@@ -1,6 +1,5 @@
 
 # GTM
-rm -f ${TMPDIR}/gl.gpx ${TMPDIR}/gpx.gpx
 gpsbabel -i gtm -f ${REFERENCE}/sample.gtm -o gpx -F ${TMPDIR}/gtm1.gpx
 gpsbabel -i gpx -f ${TMPDIR}/gtm1.gpx -o gtm -F ${TMPDIR}/gtm.gtm
 gpsbabel -i gtm -f ${TMPDIR}/gtm.gtm -o gpx -F ${TMPDIR}/gtm2.gpx
@@ -10,7 +9,6 @@ bincompare ${TMPDIR}/gtm.gtm ${REFERENCE}/sample.gtm
 # GTM compressed files
 # ... do the same as above but with gzipped gtm files
 #
-rm -f ${TMPDIR}/gl.gpx ${TMPDIR}/gpx.gpx
 gpsbabel -i gtm -f ${REFERENCE}/sample.gtm.gz -o gpx -F ${TMPDIR}/gtm1.gpx
 gpsbabel -i gpx -f ${TMPDIR}/gtm1.gpx -o gtm -F ${TMPDIR}/gtm.gtm.gz
 gpsbabel -i gtm -f ${TMPDIR}/gtm.gtm.gz -o gpx -F ${TMPDIR}/gtm2.gpx